perm filename PLOT.SAI[AL,HE] blob sn#533185 filedate 1980-08-28 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	BEGIN
C00006 ENDMK
C⊗;
BEGIN
REQUIRE "DDHDR.SAI[GRA,HPM]" SOURCE_FILE;

DEFINE	CRLF="('15&'12)",
	CR ="'15",
	! = "COMMENT ";

define ttyset = "'047000400121";

STRING filspec,filnam,ext,prj,prg;
INTEGER i;
EXTERNAL INTEGER _SKIP_;

SCREEN(-512,-480,512,480);      ! Set up screen dimensions for graphics routines;
LITEN;
I←CALL(0,"DSKPPN");
PRJ←CVXSTR(I)[1 TO 3];
PRG←CVXSTR(I)[4 TO 6];

WHILE TRUE DO
    BEGIN
    DDINIT;
    PRINT("Plot file name: ");
    FILSPEC←INCHWL;
    IF FILSPEC = NULL ∨ _SKIP_ = '175 THEN
	BEGIN
	PRINT(" aborted"&crlf);
	CONTINUE;
	END;
    IF EQU(FILSPEC,"DONE") ∨ EQU(FILSPEC,"EXIT") ∨ EQU(FILSPEC,"QUIT")
     ∨ EQU(FILSPEC,"done") ∨ EQU(FILSPEC,"exit") ∨ EQU(FILSPEC,"quit") THEN DONE;

    FILNAM ← EXT ← "";
    WHILE FILSPEC≠NULL ∧ FILSPEC≠"." ∧ FILSPEC≠"[" DO FILNAM←FILNAM & LOP(FILSPEC);
    IF FILSPEC="." THEN
	BEGIN
	i ← LOP(FILSPEC);
	WHILE FILSPEC≠NULL ∧ FILSPEC≠"[" DO EXT ← EXT & LOP(FILSPEC);
	END
     ELSE EXT ← "PLT";
    IF FILSPEC="[" THEN
	BEGIN
	PRJ ← PRG ← "";
	i ← LOP(FILSPEC);
	WHILE FILSPEC≠NULL ∧ FILSPEC≠"," DO PRJ ← PRJ & LOP(FILSPEC);
	i ← LOP(FILSPEC);
	WHILE FILSPEC≠NULL ∧ FILSPEC≠"]" DO PRG ← PRG & LOP(FILSPEC);
	END;

    IF ¬GETDDF(FILNAM &"."& EXT &"["& PRJ &","& PRG &"]" ) THEN ! Load plot file;
	BEGIN
	PRINT("Couldn't read ", FILNAM, ".",ext,"[",prj,",",prg,"]",crlf);
	CONTINUE;
	END;
    PPPOS(-365,-480);
    DPYUP(-1);			! Show it;
    PRINT("Plot it? ");
      quick_code
      hrroi 1,['004000000120]; comment [004000,,"P"];
      ttyset 1,     ;               ! this last stuff does an esc-P;
      end;
    IF (i←INCHRW) = cr ∨ (i LOR '40) = "y" ∨ (i LOR '40) = "s" 
	∨ ("1" ≤ i ≤ "5") THEN
	BEGIN
	IF (IF "1" ≤ i ≤ "5" THEN XGPQUE( i - "0" ) ELSE
	    IF (i LOR '40) = "s" THEN XGPQUE(1) ELSE XGPQUE(5))
	 THEN PRINT("	Plot queued for XGP"&crlf)
	 ELSE PRINT("	Couldn't queue plot!"&crlf);
	END;
    IF i = cr THEN INCHRS ELSE PRINT(crlf);
    END;

PRINT(crlf & "BYE" & crlf);
  quick_code
  hrroi 1,['004000000516]; comment [004000,,'400+"N"];
  ttyset 1,	;		! this last stuff does a brk-N;
  end;
  CALL(0,"EXIT");

END;